package com.pethome.web.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pethome.common.annotation.Excel;
import com.pethome.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 领养管理对象 t_adopt
 * 
 * @author hjc
 * @date 2024-08-26
 */
@TableName("t_adopt")
public class Adopt extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @TableId("adopt_id")
    @Excel(name = "id")
    private Long adoptId;

    /** 领养人id */
    @Excel(name = "领养人id")
    private Long aadoptCustomerId;

    /** 宠物id */
    @Excel(name = "宠物id")
    private Long adoptPetId;

    /** 家庭成员人数 */
    @Excel(name = "家庭成员人数")
    private Long familyNum;

    /** 是否有小孩 */
    @Excel(name = "是否有小孩")
    private Long childrenHas;

    /** 孩子年龄描述（有小孩） */
    @Excel(name = "孩子年龄描述", readConverterExp = "有=小孩")
    private String childrenDesc;

    /** 是否有其他宠物（0-没有，1-有） */
    @Excel(name = "是否有其他宠物", readConverterExp = "0=-没有，1-有")
    private Long petHas;

    /** 请说明宠物种类和数量(有宠物) */
    @Excel(name = "请说明宠物种类和数量(有宠物)")
    private String petDesc;

    /** 住房类型（1-自有住房，2-租房） */
    @Excel(name = "住房类型", readConverterExp = "1=-自有住房，2-租房")
    private Long homeType;

    /** 是否允许回访 */
    @Excel(name = "是否允许回访")
    private Long adoptVisit;

    /** 是否同意承诺（承诺信息） */
    @Excel(name = "是否同意承诺", readConverterExp = "承=诺信息")
    private Long adoptPromise;

    /** 领养状态 （0-申请领养，1-同意领养，2-驳回领养）*/
    @Excel(name = "领养状态")
    private Long adoptStatus;

    /** 审核反馈（驳回愿意等） */
    @Excel(name = "审核反馈", readConverterExp = "驳=回愿意等")
    private String adoptResponse;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date adoptTime;

    /** 驳回时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "驳回时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date rejectTime;

    /** 同意领养时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "同意领养时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date accessedTime;

    public void setAdoptId(Long adoptId) 
    {
        this.adoptId = adoptId;
    }

    public Long getAdoptId() 
    {
        return adoptId;
    }
    public void setAadoptCustomerId(Long aadoptCustomerId) 
    {
        this.aadoptCustomerId = aadoptCustomerId;
    }

    public Long getAadoptCustomerId() 
    {
        return aadoptCustomerId;
    }
    public void setAdoptPetId(Long adoptPetId) 
    {
        this.adoptPetId = adoptPetId;
    }

    public Long getAdoptPetId() 
    {
        return adoptPetId;
    }
    public void setFamilyNum(Long familyNum) 
    {
        this.familyNum = familyNum;
    }

    public Long getFamilyNum() 
    {
        return familyNum;
    }
    public void setChildrenHas(Long childrenHas) 
    {
        this.childrenHas = childrenHas;
    }

    public Long getChildrenHas() 
    {
        return childrenHas;
    }
    public void setChildrenDesc(String childrenDesc) 
    {
        this.childrenDesc = childrenDesc;
    }

    public String getChildrenDesc() 
    {
        return childrenDesc;
    }
    public void setPetHas(Long petHas) 
    {
        this.petHas = petHas;
    }

    public Long getPetHas() 
    {
        return petHas;
    }
    public void setPetDesc(String petDesc) 
    {
        this.petDesc = petDesc;
    }

    public String getPetDesc() 
    {
        return petDesc;
    }
    public void setHomeType(Long homeType) 
    {
        this.homeType = homeType;
    }

    public Long getHomeType() 
    {
        return homeType;
    }
    public void setAdoptVisit(Long adoptVisit) 
    {
        this.adoptVisit = adoptVisit;
    }

    public Long getAdoptVisit() 
    {
        return adoptVisit;
    }
    public void setAdoptPromise(Long adoptPromise) 
    {
        this.adoptPromise = adoptPromise;
    }

    public Long getAdoptPromise() 
    {
        return adoptPromise;
    }
    public void setAdoptStatus(Long adoptStatus) 
    {
        this.adoptStatus = adoptStatus;
    }

    public Long getAdoptStatus() 
    {
        return adoptStatus;
    }
    public void setAdoptResponse(String adoptResponse) 
    {
        this.adoptResponse = adoptResponse;
    }

    public String getAdoptResponse() 
    {
        return adoptResponse;
    }
    public void setAdoptTime(Date adoptTime) 
    {
        this.adoptTime = adoptTime;
    }

    public Date getAdoptTime() 
    {
        return adoptTime;
    }
    public void setRejectTime(Date rejectTime) 
    {
        this.rejectTime = rejectTime;
    }

    public Date getRejectTime() 
    {
        return rejectTime;
    }
    public void setAccessedTime(Date accessedTime) 
    {
        this.accessedTime = accessedTime;
    }

    public Date getAccessedTime() 
    {
        return accessedTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("adoptId", getAdoptId())
            .append("aadoptCustomerId", getAadoptCustomerId())
            .append("adoptPetId", getAdoptPetId())
            .append("familyNum", getFamilyNum())
            .append("childrenHas", getChildrenHas())
            .append("childrenDesc", getChildrenDesc())
            .append("petHas", getPetHas())
            .append("petDesc", getPetDesc())
            .append("homeType", getHomeType())
            .append("adoptVisit", getAdoptVisit())
            .append("adoptPromise", getAdoptPromise())
            .append("adoptStatus", getAdoptStatus())
            .append("adoptResponse", getAdoptResponse())
            .append("adoptTime", getAdoptTime())
            .append("rejectTime", getRejectTime())
            .append("accessedTime", getAccessedTime())
            .toString();
    }
}
